Tone and color reproduction control in high quality graphic arts reproduction is still far from a science. This is particularly evident when a given acceptable result, already realized using given reproduction apparatus, is sought to be realized using other apparatus or using the same apparatus but with a different type of setting, such as a GCR setting relative to a normal "key black" setting. In such cases, a high degree of expertise, combined with time, effort, expense and patience is required to calibrate the additional apparatus. The results are not always satisfactory.
Tone and color reproduction control is particularly difficult when various portions of the color image to be reproduced are stored in different formats. For example, the color image to be reproduced may comprise first types of regions in which the color and tone vary from pixel to pixel, second types of regions in which the color and tone generally vary only between subregions and not between individual pixels, and third types of regions in which text is to be represented. The text regions may of may not overlap regions of the first and second types. The preferred format for each type of region varies.
A preferred format for regions of the first type in which the color and tone vary continuously is pixel by pixel representation, such as "CT" (continuous tone) format, in which the color and tone parameters of each individual pixel are stored, in a predetermined order. The color and tone parameters are generally represented by a vector such as a three or four component vector defined in a color coordinate system such as the CMYK, RGB and XYZ coordinate systems. It is appreciated that the vector need not have three or four components but rather may have any other suitable number of components. At least three orderings of the color and tone parameters are used:
a. "Pixel interleaves": All of the components of the first pixel of the color image are stored, followed by all of the components of the second pixel, and so on;
b. "Line interleaves": The first components of each of the pixels along the first row of the color image are stored sequentially, followed by the second components of each of the pixels in the first row, followed similarly by the third and then, for a four dimensional pixel, the fourth components of each pixel in the first row. This sequence of values is followed by the corresponding sequence of values representing the four components of each pixel in the second row, and so on; and
c. "Separation interleaves": The first components of each of the pixels making up the entire color image, rather than single rows thereof, are stored sequentially, followed by the second components of each of the pixels making up the entire color image, followed similarly by the remaining components.
One preferred format for regions of the second type in which the color and tone vary only between subregions is "LW" (line work) format, also known as "run length encoding" or "line art". In this format, sequences of identical pixels along a particular row of the color image are not stored one by one but rather as a single data element, the data element comprising a first field ("color index") indicating the tone and color characteristics of each of the identical pixels and a second field ("run length") indicating the number of identical pixels in the sequence. It is appreciated that if a row of p pixels comprises s sequences of identical pixels, the sum of the values of the s second fields is p.
Preferably, one field of each data element stores a code indication of the tone and color characteristics of the corresponding sequence of identical pixels, and the key to the code is stored separately, e.g. in a LUT. This allows compactness of storage, assuming that many of the sequences are identically colored.
LW storage format of an image may also comprise a "transparency field" for each data element which stores delineations of regions of the image which are intended to bear sub-images stored in non-LW (e.g. CT or text) formats, the representations of which are to be "read into" the delineated regions. These delineated regions are designated as "transparent", i.e., may be defined only by the "read-in" sub-image, or may alternatively be non-transparent, in which case, in the final color image, the "read-in" sub-image will appear superimposed upon the pixels of the region as defined by the LW representation. The percentage of transparency may, therefore be 0%, corresponding to absolute opaqueness of the run length encoded representation, in which case any pixel-by-pixel representation of the corresponding area is meaningless "garbage", or may be 100%. More generally, the transparency percentage may also assume any intermediate value between 0% and 100%.
Alternatively, the transparency field may not be provided and instead, the color index or first field provides an indication of transparency. In other words, the color index may indicate either a particular color of the LW pixel or the transparency of the LW pixel.
It is appreciated that, if the LW storage format does comprise delineations of regions of the image which are intended to bear non-LW sub-images, such as CT sub-images, then it is not necessary to provide a CT representation of the entirety of the image. The areas of the image for which no CT representation is defined are referred to as having "undefined" CT values. Typically, a CT representation is defined for an area which circumscribes the plurality of areas which are at least partially transparent. Therefore, the area for which a CT representation is defined may be partitioned into the plurality of at least partially transparent areas, which areas comprise valid CT pixels, and into the remaining areas, which are defined in the LW file to be non-transparent and therefore comprise "garbage" CT pixels.
Text may be stored in "character graphics" type format, in which each letter, number etc. is assigned a code, or alternatively may be stored in pixel by pixel or run length encoded form. Other storage formats for color images include Postscript and vector formats.
The difficulty in achieving adequate tone and color reproduction control when various portions of the color image to be reproduced are stored in different formats has at least the following components:
a. The need to define a single storage format and to convert all portions of the stored color image to that format efficiently and with minimum distortion of the image. Typically, the single storage format is a pixel by pixel format;
b. The issue of how to optimally define tone and color parameters for the boundary regions between adjacent portions of the color image originally stored in different formats, and for the regions at the edges of the color image. Specifically, even a single pixel at the output resolution may represent a portion of the color image which was previously represented by a plurality of pixels in LW format and a plurality of pixels in CT format.
c. The problem of how to deal with the uneven speed at which a stream of run length encoded data typically arrives, due to the fact that the run lengths of sequential runs often vary considerably.
d. The question of how to integrate different portions of the color image with different resolutions. The different resolutions are not always an integer multiple of one another.
Other problems which arise in relation to color image processing in general and reproduction in particular are:
e. Most color printing devices cannot "wait" for input but rather must be continuously fed with input. State of the art technology generally requires a large buffer to store a large reserve of input for the color printing device, but this solution is relatively inefficient.
f. Representations of a color image tend to differ as a function of the color printing device employed, including the inks or colorants employed thereby, the color reading device employed and the substrate employed to bear the color image (paper, CRT, etc.)
g. A number of color coordinate systems are in standard use for representing color values (RGB, CMYK, XYZ, etc.)
State of the art color image processing apparatus and techniques are described in the following documents, the disclosures of which are incorporated herein by reference:
"Digital Image Processing" by R. C. Gonzalez & P. Wintz, Addison-Wesley, 1987.
"The Reproduction of Color in Photography, Printing and Television" by R. W. G. Hunt, Fountain Press, England, 1987
"The Automated Reproduction of Pictures with Non-reproducible Colors" by Jason J. Sara, PhD. thesis at Massachusetts Institute of Technology, MA, USA, August 1984, describes uses of multidimensional LUTs for color conversion and discusses interpolation methods.
"Image Reconstruction by Parametric Cubic Conversion" by Stephen K. Part and Robert A. Schowendert, Computer Vision, Graphics & Image Processing 23, 1983 pgs. 258-272 describes one dimensional convolution and its uses for image reconstruction.
"Algorithms for Fast Color Correction" by Alan W. Paeth, Proceedings of the SID, Vol. 30/3, 1989, describes the use of multidimensional LUTs for color manipulation (RGB to CMY only) and tri-linear interpolation.
"Video to Print--an Empirical Approach" by Michael G. Lamming & Warren Rhodes, Proceedings of the SID, Vol. 30/3, 1989, describes the use of 1D-LUTs and matrixes for color correction for RGB to CMY only.
"Color Gamut & the Printing of Digital Images" by Maureen C. Stone et al, ACM Transactions of Graphics, Vol. 7 No. 34, October 1988, pg. 249-292, describes an attempt to reproduce digital images designed on a variety of different color monitors in a journal, using digital offset printing. The reproduction system described is calibrated using CIE tristimulus values. An image is represented as a set of three-dimensional points and a color output device is represented as a three-dimensional solid surrounding the set of all reproducible colors for that device. Since the sets of reproducible colors for monitors and printers are very different, a method for transforming image points to fit into the set of reproducible colors of the destination output device is described.
U.S. Pat. No. 4,282,510 to Southgate describes apparatus for discerning the noticeable presence of spatial fluctuations of intensity within a 2D visual field, comprising spatial convolvers and shift registers.
U.S. Pat. No. 4,334,240 to Franklin et al describes a primary color pyramid print interpolator which includes correction circuitry for the 3 primary colors and for black, for feeding into a computer and a memory.
U.S. Pat. No. 4,347,580 to Bond describes a spatial to array convolver or correlator.
U.S. Pat. No. 4,472,786 to Larson describes a spatial analog Gaussian convolver.
U.S. Pat. No. 4,477,833 to Clark et al describes a color conversion method including an interpolation step and interpolation and 3D-4D simplex color linear interpolation.
U.S. Pat. No. 4,481,5312 to Clark et al describes a method for determining and storing color printing information, and for generating 3 gray mapper curves using correction percentages for six colors including black.
U.S. Pat. No. 4,500,919 to Schreiber describes a color reproduction system which passes RGB values through a multidimensional LUT and interpolates to obtain a CMYK value.
U.S. Pat. No. 4,511,989 to Sakamoto describes 4D simplex color linear interpolation using a 16 bit addressed LUT.
U.S. Pat. No. 4,639,770 to Jung et al describes a method and apparatus for simulating a multi-colored reproduction on an color monitor.
U.S. Pat. No. 4,712,141 to Tomohisa et al describes a method and apparatus for interpolating image signals.
U.S. Pat. No. 4,717,954 to Fujita et al describes a method which uses a conversion table based on pre-printed color charts for to determine half-tone dot percentages required to reproduce the color of a color specimen.
U.S. Pat. No. 4,752,822 to Kawamura describes color half-tone image processing apparatus for providing screen angles and having an adaptive color image data conversion LUT and a small capacity masking memory. The system processes both color and `screen` using a 3D-LUT which is constructed in conjunction with a scanner.
U.S. Pat. No. 4,819,193 to Imao describes a gradation processing method for color images.
U.S. Pat. No. 4,825,386 to Bogacki describes a horizontal line processor of data which is processed sequentially.
U.S. Pat. No. 4,833,531 to Abe et al describes a technique for interpolating a color image for color image enlargement or reduction based on LUTs stored in memory.
U.S. Pat. No. 4,837,722 to Sara describes a digital, high speed 3D interpolation method, and hardware for tri-linear interpolation.